import { request } from "../../request/index.js";

/**
 * 1， 输入框绑定事件， 值改变事件 input
 *   1.1 获取输入框的值
 *   1.2 合法性判断
 *   1.3 检验通过 把输入框的值发送到后台
 *   1.4 返回的数据渲染到页面上
 * 2,防抖  定时器
 *   定义一个全局的定时器id
 *
 */
Page({
  /**
   * 页面的初始数据
   */
  data: {
    goods: [],
    //变量控制取消按钮是否显示
    isFocus: false,
    //输入框初始值
    inputValue:""
  },
  TimeId: -1,

  //输入框的值改变会触发
  handleInput(e) {
    //获取输入框的值
    const { value } = e.detail;
   
    //检查合法性
    if (!value.trim()) {
      clearTimeout(this.TimeId);
      console.log("eeeeeeeeee")
      this.setData({
        goods:[],
        isFocus:false})
      return;
    }
    // 准备发送请求获取数据
    this.setData({ isFocus: true });
    clearTimeout(this.TimeId);
    this.TimeId = setTimeout(() => {
      this.qsearch(value);
    }, 1000);
  },

  //发送请求获取搜索建议的函数
  async qsearch(query) {
    const res = await request({ url: "/goods/qsearch", data: { query } });
    //console.log(res);
    this.setData({
      goods: res,
    });
  },

  //点击取消按钮
  handleCancel(){
    this.setData({
      inputValue:"",
      isFocus:false,
      goods:[]
    })
  }
});
